from tkinter import *
from pages.view import *  # 菜单栏对应的各个子页面


class mainPage(object):
    def __init__(self, master=None):
        self.root = master  # 定义内部变量root
        self.root.geometry('%dx%d' % (600, 400))  # 设置窗口大小
        self.createPage()

    def createPage(self):

        menubar = Menu(self.root)

        # 创建一个子菜单
        filemenu = Menu(menubar, tearoff=0)
        filemenu.add_command(label=u'连接设备',command=self.connDev)
        filemenu.add_command(label=u'历史数据',command=self.queryData)
        filemenu.add_command(label=u'统计',command=self.countData)
        filemenu.add_command(label=u'关于',command=self.aboutDisp)

        # 将所创建的子菜单关联到主菜单上面
        menubar.add_cascade(label=u"系统菜单", menu=filemenu)
        menubar.add_command(label=u'连接设备', command=self.connDev)
        menubar.add_command(label=u'历史数据', command=self.queryData)
        menubar.add_command(label=u'统计', command=self.countData)
        menubar.add_command(label=u'关于', command=self.aboutDisp)
        self.root['menu'] = menubar  # 设置菜单栏




        self.connectPage_show = Frame(self.root) # 定义相关视图并且传到对应方法
        self.queryPage_show = Frame(self.root)
        self.countPage_show = Frame(self.root)
        self.aboutPage_show = Frame(self.root)

        self.connectPage = ConnectFrame(self.root,self.connectPage_show)  # 创建不同Frame 将view里定义好的视图传过来 点击菜单对应的方法来显示页面或者隐藏页面
        self.queryPage = QueryFrame(self.root,self.queryPage_show)
        self.countPage = CountFrame(self.root,self.countPage_show)
        self.aboutPage = AboutFrame(self.root,self.aboutPage_show)

        self.connectPage_show.pack()  # 默认显示数据录入界面
    def connDev(self):

        self.connectPage_show.pack()
        self.queryPage_show.pack_forget()
        self.countPage_show.pack_forget()
        self.aboutPage_show.pack_forget()

    def queryData(self):
        self.connectPage_show.pack_forget()
        self.queryPage_show.pack()
        self.countPage_show.pack_forget()
        self.aboutPage_show.pack_forget()

    def countData(self):
        self.connectPage_show.pack_forget()
        self.queryPage_show.pack_forget()
        self.countPage_show.pack()
        self.aboutPage_show.pack_forget()

    def aboutDisp(self):
        self.connectPage_show.pack_forget()
        self.queryPage_show.pack_forget()
        self.countPage_show.pack_forget()
        self.aboutPage_show.pack()

